CPP = g++
CFLAGS = -Wall -O3
LIB =  -lglpk

OBJ = main.o input_data.o buneman.o
all: steiner

steiner: $(OBJ)
	$(CPP) $(CFLAGS) -o steiner $(OBJ) $(LIB)

main.o: main.cpp buneman.h input_data.h util.h typedefs.h basic_includes.h Makefile
	$(CPP) $(CFLAGS) -c -o main.o main.cpp

input_data.o: input_data.cpp input_data.h util.h typedefs.h basic_includes.h Makefile
	$(CPP) $(CFLAGS) -c -o input_data.o input_data.cpp

buneman.o: buneman.cpp approx.h graphdata.h input_data.h util.h typedefs.h basic_includes.h Makefile
	$(CPP) $(CFLAGS) -c -o buneman.o buneman.cpp

clean:
	rm *.o steiner
